package com.yunxi.sat.service;

import java.util.*;
import com.github.pagehelper.PageInfo;
import com.yunxi.core.web.LoginInfo;
import com.yunxi.sat.pojo.SatTestDriveCancelVO;
import com.yunxi.sat.pojo.SatTestDriveCompletelVO;
import com.yunxi.sat.pojo.SatTestDriveDetailVO;
import com.yunxi.sat.pojo.SatTestDriveVO;

/**
 * <p>
 * 试乘试驾表 服务类
 * </p>
 *
 * @author caoYong
 * @since 2019-07-31
 */
public interface SatTestDriveDubboService {

    SatTestDriveVO getById(String id) throws Exception;

    SatTestDriveDetailVO getInfoById(String id) throws Exception;

    SatTestDriveDetailVO testDriveInfo(String customerNo) throws Exception;

    String saveOrUpdate(SatTestDriveVO satTestDriveVO,LoginInfo loginInfo) throws Exception;

    void removeById(String id);

    PageInfo<SatTestDriveVO> findPageByVO(SatTestDriveVO satTestDriveVO, Integer pageNum, Integer pageSize, LoginInfo loginInfo) throws Exception;

    void removeByListVo(List<SatTestDriveVO> satTestDriveVOList) throws Exception;

    List listByVo(SatTestDriveVO satTestDriveVO,LoginInfo loginInfo);

    String aggreeMent(String partnerCode)throws Exception;

    void cancelTestDrive(SatTestDriveCancelVO satTestDriveCancelVO)throws Exception;

    void complete(SatTestDriveCompletelVO satTestDriveCompletelVO,String roleCode)throws Exception;

    void begin(SatTestDriveCompletelVO satTestDriveCompletelVO)throws Exception;

    List<SatTestDriveDetailVO> allList (SatTestDriveCompletelVO satTestDriveCompletelVO ,LoginInfo loginInfo)throws Exception;

    List<Date> testDriveDate(String testDriveExpert,String partnerCode);

    void editDriveTime(SatTestDriveCancelVO satTestDriveCancelVO)throws Exception;

    void pushTestDriveToURM(SatTestDriveVO satTestDriveVO)throws Exception;

}
